1. Technical Field
This disclosure relates to computer networks, and, more specifically, to a system for intelligently discovering folders and files shared over a computer network.
2. Description of the Related Art
Referring to FIG. 1, software programs exist that allow computers to share files. One example is the Microsoft® Windows® folder sharing. A user tags folders, such as folders 8 on host computers 6 as available for sharing with other computers. The user might also assign a password to the tagged folders 8. A local computer 2 that wants to discover the hosts (and their shared folders 8) has to access a central computer that operates as master browser 4.
The master browser 4 discovers the hosts 6 from their announcement messages and relays the shared folder information to the local computer 2. The local computer 2 displays a list of all the hosts. The local computer can then discover share folders from any of the hosts. A user can then select any of the share folder 8 for mounting and use the share files 3 in the mounted share folder 8 on the local computer 2. Mounting allows the local computer 2 to utilize the share files 3 as if they were available locally. The Windows Browser Service is described at http://www.microsoft.com/resources/documentation/windows/2000/server/reskit/en-us/tcpip/part4/tcpappi.mspx.
Current network neighborhood programs use centralized discovery. Centralized discovery uses a centralized master browser 4 on the network for discovering the host computers 6. Some networks, such as a user's home network, may not be set up with a master browser 4. In these networks, there is no way for local computers 2 to discover hosts on the network and then in turn discover their shares using above approach. Further, centralized discovery systems may require excessive time to identify new host computers that are recently attached to the network. Thus, the centralized discovery approach is not effective for certain network systems.
The computers 2, 4, 6 in the network in FIG. 1 can perform the discovery of shares (finding names of the shared folders) using a NetrShareEnum Request-Response transaction after discovering hosts on the network using above described mechanism. If the computers 2, 4, or 6 cannot support shares discovery using this protocol, and/or if a Remote Procedure Call (RPC) is disabled or fails, then the discovery of shares using this approach will not be successful.
Embodiments of the invention address these and other limitations in the prior art.